#ifndef CONTROL_MODES_H
#define CONTROL_MODES_H

#include "sys_pub.h"
#include "config.h"

// 模式类型
typedef enum {
    MODE_IDLE=0,          // 空闲模式
    MODE_COOLING=1,       // 制冷模式
    MODE_CLEANING=2,      // 清洗模式
    MODE_THAWING=3,       // 解冻模式
    MODE_PRESERVATION=4,  // 保鲜模式
} RunningMode;

// 模式状态
typedef enum {
    MODE_STATUS_RUNNING,    // 运行中
    MODE_STATUS_COMPLETE,   // 完成
    MODE_STATUS_ERROR       // 错误
} ModeStatus;

// 系统初始化
void running_mode_init(void);

// 获取当前模式
RunningMode control_get_current_mode(void);

// 切换到指定模式
bool control_switch_mode(RunningMode mode);

// 退出当前模式
void control_exit_mode(void);

void running_mode_process(void);

#endif // CONTROL_MODES_H
    